#include "rtl8139.h"
#include <io.h>
#include <system/mod.h>

module_t rtl8139_module =
{
	.name = "rtl8139\0",
	.author = "dak\0",
	.license = "gpl\0",
	.desc = "\0",
	.dep = "\0",
	.type = MOD_TYPE_DEV_NETWORK,
	
	.init = rtl8139_init,
	.shut = rtl8139_shut,
};


/*
 * Inizializzazioen del driver
 */
uint32_t rtl8139_init()
{
	// Segnialiamo l'indirizzo del buffer per la ricezione
	io_outd(RTL8139_IO_BASE + 0x30, (unsigned long)rtl8139_buff_rx);
	
	// Impostiamo l'interruzione
	io_outw(RTL8139_IO_BASE + 0x3C, 0x0005);
	
	// Segnialiamo la grandezza del buffer
	io_outl(RTL8139_IO_BASE + 0x44, 0xf | (1 << 7));
	
	// Abilitiamo ricezione e trasmissione
	io_outb(RTL8139_IO_BASE + 0x37, 0x0C);
}



/*
 * Reset del chip
 */
void rtl8139_reset()
{
	
}



/*
 * Handler dei dati del chip rtl
 */
void rtl8139_callback(regs_t *reg)
{
	
}



uint32_t rtl8139_shut()
{
	
}



uint32_t rtl8139_read(uint8_t *data, uint32_t size, char *flags)
{
	
}


uint32_t rtl8139_write(uint8_t *data, uint32_t size, char *flags)
{
	
}

